package com.partners.dao.basic;

import com.partners.dao.dto.UserRoleOutputDTO;
import com.partners.dao.bo.GroupDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface GroupDao {
    int deleteByPrimaryKey(Integer id);

    int insert(GroupDO record);

    int insertSelective(GroupDO record);

    GroupDO selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(GroupDO record);

    int updateByPrimaryKey(GroupDO record);


    List<Map<String,Object>> getGroupList();

    List<Map<String,Integer>> getGroupUserId(Integer id);

    List<UserRoleOutputDTO> getUserByGroupId(@Param("ids") List<Integer> ids);

    Integer checkNameGroup(@Param("name") String name,@Param("id") Integer id);

    Integer getGroupExist(@Param("groupId") Integer groupId,@Param("userId")  Integer userId);

    Integer checkUserJoinGroup(@Param("userId") Integer userId);

    Integer getGroupTotal(Integer id);

    Integer getOrderUserTotal();

    List<UserRoleOutputDTO> getOrtherUserByGroup();

    List<Map<String,Object>> getGroupListById(Integer id);


}
